// https://www.nowcoder.com/practice/508378c0823c423baa723ce448cbfd0c

#include <iostream>
#include <vector>
using namespace std;

struct TreeNode {
    int val;
    struct TreeNode *left;
    struct TreeNode *right;
    TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
};


class Solution {
private:
    int summary = 0;
public:
    /**
     * 代码中的类名、方法名、参数名已经指定，请勿修改，直接返回方法规定的值即可
     *
     *
     * @param root TreeNode类
     * @param sum int整型
     * @return bool布尔型
     */
    bool hasPathSum(TreeNode* root, int target) {
        if (root == nullptr && target == 0 ) {
            return true;
        }
        if (root == nullptr) {
            return false;
        }

        summary += root->val;
        hasPathSum(root->left, target);
        hasPathSum(root->right, target);
    }
};